﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Упр)
	///</summary>
	[DataContract]
	public enum ВидыОграниченийОборотовБюджета
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"4e80ee2c-a015-4d43-89a1-d7dce78b8dd9\", \"Представление\":\"ПредварительныйБюджет\"}")]
		ПредварительныйБюджет = 0,//Предварительный бюджет
		[EnumMember(Value = "{\"Ссылка\":\"c4917ae5-c128-4aec-b43f-fc8de152b1af\", \"Представление\":\"КонтролирующийСценарийПоВсем\"}")]
		КонтролирующийСценарийПоВсем = 1,//Контролирующий сценарий (по всем оборотам)
		[EnumMember(Value = "{\"Ссылка\":\"0d890d3e-e2cd-4b24-aba9-d43a8014af21\", \"Представление\":\"КонтролирующийСценарийВыборочно\"}")]
		КонтролирующийСценарийВыборочно = 2,//Контролирующий сценарий (выборочно)
	}
	public static partial class ВидыОграниченийОборотовБюджета_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ПредварительныйБюджет = new Guid("dcd7a189-8be7-d98d-4d43-a0154e80ee2c");//Предварительный бюджет
		public static readonly Guid КонтролирующийСценарийПоВсем = new Guid("8dfc3fb4-52e1-afb1-4aec-c128c4917ae5");//Контролирующий сценарий (по всем оборотам)
		public static readonly Guid КонтролирующийСценарийВыборочно = new Guid("3ad4a9ab-1480-21af-4b24-e2cd0d890d3e");//Контролирующий сценарий (выборочно)
		public static ВидыОграниченийОборотовБюджета Получить(this ВидыОграниченийОборотовБюджета Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОграниченийОборотовБюджета Получить(this ВидыОграниченийОборотовБюджета Значение, Guid Ссылка)
		{
			if(Ссылка == ПредварительныйБюджет)
			{
				return ВидыОграниченийОборотовБюджета.ПредварительныйБюджет;
			}
			else if(Ссылка == КонтролирующийСценарийПоВсем)
			{
				return ВидыОграниченийОборотовБюджета.КонтролирующийСценарийПоВсем;
			}
			else if(Ссылка == КонтролирующийСценарийВыборочно)
			{
				return ВидыОграниченийОборотовБюджета.КонтролирующийСценарийВыборочно;
			}
			return ВидыОграниченийОборотовБюджета.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОграниченийОборотовБюджета Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОграниченийОборотовБюджета Значение)
		{
			switch (Значение)
			{
				case ВидыОграниченийОборотовБюджета.ПредварительныйБюджет: return ПредварительныйБюджет;
				case ВидыОграниченийОборотовБюджета.КонтролирующийСценарийПоВсем: return КонтролирующийСценарийПоВсем;
				case ВидыОграниченийОборотовБюджета.КонтролирующийСценарийВыборочно: return КонтролирующийСценарийВыборочно;
			}
			return Guid.Empty;
		}
	}
}